The prior art discloses a variety of computer networks. The IBM System Journal, Volume 22, Number 4, 1983 includes a series of articles devoted to a review of the IBM System Network Architecture (SNA). On page 345 of that publication a network is defined as "a configuration of terminals, controllers, and processors and the links that connect them". When such a configuration supports user applications involving data processing and information exchange and conforms to the specifications of the IBM System Network Architecture it is called an SNA network. Essentially SNA defines logical entities that are related to the physical entities in a network and specifies the rules for interactions among these logical entities.
The logical entities of an SNA network include network addressable units and the path control network that connects them. Network addressable units communicate with one another using logical connections called "sessions". The three types of Network Addressable Units (NAUs) are the Logical Unit (LU), the Physical Unit (PU), and the System Services Control Point (SSCP) which are defined as follows:
Logical Unit (LU). An LU is a port through which end users may access the SNA network. An end user uses an LU to communicate with another end user and to request services of a System Services Control Point (SSCP).
Physical Unit (PU). A PU is a component that manages the resources of a node in cooperation with an SSCP.
System Services Control Point (SSCP). This is a focal point for configuration management, problem determination and directory services for end users. SSCPs may have sessions with LUs and PUs. When such a session occurs, the LU or PU is in the domain of the SSCP. In addition to sessions with LUs and PUs, SSCPs may also communicate with each other to coordinate the initiation and the termination of sessions between Logical Units and in different domains.
From the hardware standpoint, a simple network comprises a host system having a processing unit and a plurality of local terminals that are assigned to individual users. The local terminals are selectively connectable to the host system through one or more communication links. These links may comprise merely a coaxial cable, a dedicated telephone line, or in some cases, a satellite communication link.
The host processing unit mostly an operating system which supports the creation of a large number of virtual machines, each of which is assigned, on request, to an end user. A virtual machine processes tasks for the assigned end user, by time sharing the host processor hardware of the host system. Some host systems may include more than one hardware processor so that true simultaneous processing occurs at the host since a plurality of processors are running in parallel. More often, there is merely one hardware processor that "concurrently" runs data processing tasks for the virtual machines by a time sharing technique. This is transparent to the end users at the terminals.
Two general types of terminals are employed in data processing networks. The first is referred to as a "dumb terminal" in that it comprises merely a keyboard and a display device and little or no processing capability other than that required to make a connection with the host system. The second type of terminal is referred to as an Intelligent Work Station (IWS) and is provided with its own processor unit and supporting peripheral devices. The terms IWS and Personal Computer (PC) are often used interchangeably. With the ready availability of PCs having very attractive price performance characteristics, most new networks are implemented with IWS type terminals and many of the older networks are being modified with the replacement of dumb terminals with IWS type terminals. Providing each end user on the network with its own processing capability relieves the host CPU from doing many of the data processing tasks that were previously done at the host. The nature of the tasks that are processed by the host CPU therefore has changed and more sophisticated applications such as electronic mail and electronic calendaring are now implemented on the network under the control of the host system. Both of these applications involve what is referred to as distributed application programs, in that one part of the application program is resident on the host system and another is resident on the IWS terminal.
A survey of the products available to run distributed application programs is given in the article "Typing micro-mainframe knot" by V. Rawzino, published in Datamation, vol. 30, no. 11, Jul. 15, 1984, pp. 82-90.
Many of the current data processing networks are designed in accordance with the IBM SNA architecture which was first described in 1974. Since then various new functions and services have been added. As suggested earlier, SNA networks can be viewed as a plurality of nodes interconnected by data links. At each of these nodes, path control elements send information packets, referred to as Path Information Units (PIUs) between resource managers called Logical Units (LUs). These logical connections of the paths are called a session. A transport network for data is therefore defined by the path control elements and the data link control elements.
Nodes can be connected by a plurality of links and comprise a plurality of LUs. Various types of LUs sessions and protocols have been established within the framework of the SNA architecture. There are three general classes of sessions. The first class is unspecified by SNA. The second class involves terminals and the third involves program to program communication. For example LU 6 provides SNA defined interprogram communication protocols which avoids the limitations of terminal LU types such as LU 2 and LU 7. LU 6.2 is referred to as Advanced Program to Program Communication or APPC protocols.
Logical Units are more than message ports. LUs provide operating system services such as program to program communication involving one or more local programs. Each application program views the LUs as a logical operating system and the network of loosely coupled LUs connected by sessions as a distributed operating system.
The LU allocates a plurality of resources to its programs, which are dependent on the particular hardware and its configuration. Some of the resources that are made available are remote while others are local, i.e., associated with the same LU as the application program. The sessions are considered logical resources at each LU, but are shared between particular LUs.
The control function of an LU is resource allocation Programs ask one for access to a resource. Sessions which carry messages between LUs or programs running on LUs are considered shared resources. A session is divided into a plurality of serially executed conversations.
Two LUs connected by a session have a shared responsibility in allocating sessions to application programs for use as "conversations." The application programs are therefore sometimes referred to as "transaction programs."
The successful connection between LUs occurs as a result of a common set of protocols which function first to activate a session between two LUs and second to facilitate the exchange of message data.
The SNA format and protocol reference manual designated SC30-3112, published by the IBM Corporation describes SNA by defining, for example, with programming language declarations, the format of messages that flow between network entities and the programs that generate, manipulate, translate, send and return messages.
The SNA transaction program reference manual for LU 6.2 referred to as GC30-3084, published by the IBM Corporation defines the verbs that describe the functions provided by the implementing products.
Two articles are known which review SNA and its relationship to communication between intelligent workstations. These are "Peer-to-peer network management in an IBM SNA network" by S. Simon in IEEE Network, vol. 5, no. 2, March 1991, pp. 30-34 and "Comming :a new SNA" by L. D. Passmore in Datamation, vol. 31, no. 22, Nov. 15, 1985, pp. 102-112.
Two European patent applications are known in which various aspects of the sharing of applications programs between computers are described. These are EP-A-0 371 229 (Hewlett-Packard) and EP-A-0 424 715 (IBM).
One U.S. patent is known in which sharing of applications between computers is described. This is U.S. Pat. No. 4,274,139.
Japanese Patent Application JP-A-63-209248 (Fujitsu) (English Language Abstract published in Patent Abstracts of Japan, vol. 12, no. 498, p. 110) describes a communication control section within a host which transfers data to a workstation.